草庐IT

php - 最多匹配 x 正则表达式或 y 正则表达式

全部标签

ruby - 如何使用 webmock 正则表达式匹配器?

如何匹配像这样的URL:http://www.example.com/foo/:id/barhttp://www.example.com/foo/1/barhttp://www.example.com/foo/999/barstub_request(:post,"www.example.com") 最佳答案 您可以使用%r{}而不是//作为Ruby中的正则表达式,以避免必须转义URL中的正斜杠。例如:stub_request(:post,%r{\Ahttp://www.example.com/foo/\d+/bar\z})

ruby - 使用分组时如何使用 gsub 在 Ruby 正则表达式 (regex) 中反向引用?

我想修补一些从网页中提取的文本数据。示例:t="Firstsentence.Secondsentence.Thirdsentence."第二句末尾点后没有空格。这表明第3句话在原始文档中位于单独的一行(在br标记之后)。我想使用此正则表达式将“\n”字符插入适当的位置并修补我的文本。我的正则表达式:t2=t.gsub(/([.\!?])([A-Z1-9])/,$1+"\n"+$2)但不幸的是它不起作用:“NoMethodError:undefinedmethod‘+’fornil:NilClass”如何正确反向引用匹配的组?在MicrosoftWord中非常简单,我只需使用\1和\2符

ruby-on-rails - 简单的正则表达式——用空格替换下划线

嘿,我正在编写我的第一个Rails应用程序,我正在尝试用空格替换传入ID名称中的下划线,如下所示:之前:test_string之后:测试字符串我该怎么做?对不起,如果这是一个有点愚蠢的问题,我对正则表达式不是很熟悉...... 最佳答案 str.gsub!(/_/,'')gsub代表“全局替换”,感叹号表示它将更改字符串本身,而不仅仅是返回替换后的字符串。您也可以使用String#tr!在没有正则表达式的情况下执行此操作:str.tr!('_','') 关于ruby-on-rails-简

ruby - 如何从字符串正则表达式 ruby​​ 中获取所有数字

如何在ruby​​中使用正则表达式从诸如“Lorem123ipsum456879”=>“123456879”这样的句子字符串中获取所有数字? 最佳答案 只需替换所有其他内容即可。result=subject.gsub(/[^\d]/,'') 关于ruby-如何从字符串正则表达式ruby​​中获取所有数字,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8019702/

用于匹配 url 的 Ruby 正则表达式

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicates:RegextomatchURLregextoremovethewebpagepartofaurlinruby我正在寻找一个正则表达式来解析文件中的所有url。我尝试了谷歌搜索后得到的许多正则表达式,但在一种或另一种情况下都失败了。我的想法是写一个在开始时检查http或https的存在,它会匹配所有内容,直到它看到一个空格。有什么想法吗?注意:我不需要解析url,但需要从文件中删除所有url,或者至少使其不可读。

ruby - 正则表达式——Ruby 与 Perl

我注意到我的Ruby(1.9)脚本中存在一些极度延迟,经过一些挖掘后,它归结为正则表达式匹配。我在Perl和Ruby中使用以下测试脚本:Perl:$fname=shift(@ARGV);open(FILE,"){if(/(.*?)\|.*?SENDINGREQUEST.*?TID=(.*?),/){print"$1:$2\n";}}ruby:f=File.open(ARGV.shift)while(line=f.gets)if/(.*?)\|.*?SENDINGREQUEST.*?TID=(.*?),/.match(line)puts"#{$1}:#{$2}"endend我对两个脚本使

ruby - 在 Ruby gsub block (正则表达式)中使用命名捕获组

我正在尝试在Ruby的block内使用命名捕获组。$1仍然有效,但我想使用我提供的名称来引用它。"foo/(bar)".gsub(/(?\(.*?\))/x)do|match|puts"$1=#{$1}and$my_word=#{$my_word}"end预期:$1=(bar)and$my_word=(bar) 最佳答案 你在找"foo/(bar)".gsub(/(?\(.*?\))/x)do|match|puts"$1=#{$1}and$my_word=#{$~[:my_word]}"end

ruby - 匹配不包含特定单词的字符串

我正在使用ruby​​和match方法,我想用正则表达式匹配一个不包含特定字符串的URL:例如:http://website1.com/url_with_some_words.htmlhttp://website2.com/url_with_some_other_words.htmlhttp://website3.com/url_with_the_word_dog.html我想匹配不包含单词dog的URL,所以应该匹配第一个和第二个 最佳答案 只需使用否定前瞻^(?!.*dog).*$。解释^:匹配行首(?!.*dog):否定前瞻,

ruby - 让星形正则表达式运算符失败

我不确定是我脑子坏了还是我只是想得太用力了。以下代码来自RubyKoans中的about_regular_expressions。deftest_asterisk_means_zero_or_moreassert_equal"abb","abbcccddddeeeee"[/ab*/]assert_equal"a","abbcccddddeeeee"[/az*/]assert_equal"","abbcccddddeeeee"[/z*/]#THINKABOUTIT:##Whenwould*failtomatch?end如何让*使匹配失败?当我说失败时,我假设他们的意思是他们希望asser

用于每四个字符拆分的 Ruby 正则表达式不起作用

我正在尝试每四个字符拆分一个相当大的字符串。这就是我正在尝试的方式:big_string.split(/..../)这会生成一个nil数组。据我所知,这应该有效。当我将它插入onlinerubyregextest时它甚至会这样做. 最佳答案 试试扫描:$irb>>"abcd1234beefcake".scan(/..../)=>["abcd","1234","beef","cake"]或>>"abcd1234beefcake".scan(/.{4}/)=>["abcd","1234","beef","cake"]如果字符数不能被4整